package com.ruoyi.qsng.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.util.Date;

/**
 * 活动收藏对象 k_activity_collect
 * 
 * @author kanglou
 * @date 2023-06-07
 */
@Data
@ApiModel("活动收藏对象 k_activity_collect")
public class KActivityCollect extends BaseEntity
{
    private static final long serialVersionUID = 1L;


    /** 业务字段--活动名称 */
    @ApiModelProperty(" 业务字段--是否报名 0否 1是")
    private Long isApplication;

    @ApiModelProperty("业务字段---学生年龄")
    private String ageApp;

    /** 报名开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("报名开始时间")
    private Date bmKssj;

    /** 报名结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("报名结束时间")
    private Date bmJssj;

    /** 开课开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("开课开始时间")
    private Date kkKksj;

    /** 开课结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("开课结束时间")
    private Date kkJssj;


    @ApiModelProperty("是否收藏了 0否 1是")
    private Long isCollect;

    /** 收藏人id */
    @Excel(name = "收藏人id")
    @ApiModelProperty("收藏人id")
    private String userId;

    /** 活动id */
    @Excel(name = "活动id")
    @ApiModelProperty("收藏人id")
    private String activityId;

    /** 主键 */
    private String id;

    /** 活动名称 */
    @Excel(name = "活动名称")
    @ApiModelProperty("活动名称")
    private String name;

    /** 教师 */
    @Excel(name = "教师")
    @ApiModelProperty("教师")
    private String teacher;

    /** 教师介绍 */
    @Excel(name = "教师介绍")
    @ApiModelProperty("教师介绍")
    private String teacherContent;

    /** 活动宣传图 */
    @Excel(name = "活动宣传图")
    @ApiModelProperty("活动宣传图")
    private String picture;

    /** 活动介绍 */
    @Excel(name = "活动介绍")
    @ApiModelProperty("活动介绍")
    private String content;

    /** 活动分类，对应数据字典k_activity_type */
    @Excel(name = "活动分类，对应数据字典k_activity_type")
    @ApiModelProperty("活动分类，对应数据字典k_activity_type")
    private String activityType;

    /** 年龄段 */
    @Excel(name = "年龄段")
    @ApiModelProperty("年龄段")
    private String ageGroup;

    /** 总名额 */
    @Excel(name = "总名额")
    @ApiModelProperty("总名额")
    private Integer totalQuota;

    /** 剩余名额 */
    @Excel(name = "剩余名额")
    @ApiModelProperty("剩余名额")
    private Integer remainingQuota2;

    /** 节次 */
    @Excel(name = "节次")
    @ApiModelProperty("节次")
    private Integer section;

    /** 活动时间 */
    @Excel(name = "活动时间")
    @ApiModelProperty("活动时间")
    private String classTime;

    /** 附件 */
    @Excel(name = "附件")
    @ApiModelProperty("附件")
    private String file;

    /** 活动积分 */
    @Excel(name = "活动积分")
    @ApiModelProperty("活动积分")
    private Integer integral;

    /** 报名须知 */
    @Excel(name = "报名须知")
    @ApiModelProperty("报名须知")
    private String notice;

    @ApiModelProperty("业务字段用户名称")
    private String userName;

    @ApiModelProperty("业务字段用户身份证")
    private String userCard;


    @ApiModelProperty("已售名额")
    private Long sold;

    public void setUserId(String userId) 
    {
        this.userId = userId;
    }

    public String getUserId() 
    {
        return userId;
    }
    public void setActivityId(String activityId) 
    {
        this.activityId = activityId;
    }

    public String getActivityId() 
    {
        return activityId;
    }
    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("userId", getUserId())
            .append("activityId", getActivityId())
            .append("id", getId())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
